// TOWN SPECIAL ENCOUNTERS
//    Town 103: Barrier Cavern

beginzonescript;

variables;

short im_hostile = 0;
short max_crime = 200;
short last_abil;
short counter = 0;
short set_ter = 0;
short r1;

body;

beginstate INIT_STATE;
	last_abil = get_current_tick();

//	set_name(,);
//	add_range_to_group(,,groupn);

	change_max_health(10300,300);
	change_max_health(10325,300);
	change_max_health(10328,300);
	set_aggression(10300,75);
	set_aggression(10325,75);
	set_aggression(10328,75);
	
	erase_char(10325);
	if (difficulty() < 3)
		erase_char(10300);
		
	sf(103,12,0);
	
	if (gf(307,8) > 0) {
				kill_object(8,1);
				kill_object(9,1);
				kill_object(10,1);
				kill_object(11,1);
				kill_object(12,1);
				kill_object(13,1);
				set_terrain(0,21,31,316);
				set_terrain(0,25,35,316);
				set_terrain(0,21,35,316);
				set_terrain(0,25,31,316);
		}
		
	set_crime_tolerance(max_crime);

	break;

beginstate EXIT_STATE;
break;

beginstate START_STATE;
	if (((is_combat()) && (tick_difference(last_abil,get_current_tick()) > 0)) || ((is_town()) && (tick_difference(last_abil,get_current_tick()) > 0))) {
		last_abil = get_current_tick();
		
		if (gf(103,12) > 0) {
			inc_flag(103,12,1);
			if (gf(103,12) == 2) {
				play_sound(194);
				run_sparkles_on_object(7,35,8,3);
				run_sparkles_on_object(7,45,8,3);
				set_terrain(0,21,31,316);
				}
			if (gf(103,12) == 3) {
				play_sound(194);
				run_sparkles_on_object(7,35,8,3);
				run_sparkles_on_object(7,45,8,3);
				set_terrain(0,25,35,316);
				}
			if (gf(103,12) == 4) {
				play_sound(194);
				run_sparkles_on_object(7,35,8,3);
				run_sparkles_on_object(7,45,8,3);
				set_terrain(0,21,35,316);
				set_terrain(0,25,31,316);
				}
			if (gf(103,12) == 5) {
				ok_dlog(49,3);
				ok_dlog(52,3);


				kill_object(8,1);
				kill_object(9,1);
				kill_object(10,1);
				kill_object(11,1);
				kill_object(12,1);
				kill_object(13,1);

				set_terrain(0,19,21,0);
				set_terrain(0,20,41,0);

				set_spec_item(29,1);
				activate_hidden_group(1);
				sf(103,12,0);
				}
			}
			
		if (gf(307,8) > 0) {
			r1 = get_ran(1,0,11);
			if (char_ok(10301 + r1) == FALSE) {
				spawn_creature(10301 + r1);
				set_summon_level(10301 + r1,1);
				set_attack_bonus(10301 + r1,50);
				}
			}
			
		}

break;

beginstate 10;
break;

beginstate 11;
break;

beginstate 12;
break;

beginstate 13;
break;

beginstate 14;
break;

//	print_str("");
//	set_terrain_string_range("",1);
//	set_terrain_string_range("The sign says - .",1);

